// 封装axios

import axios from 'axios';

let baseURL = '';
// 需要根据当前的开发环境,然后设置对应的baseURL
// process.env.NODE_ENV // 获取vite配置好的当前的环境变量 分为两种 开发 和 生产
// 值为: development : 表示开发环境
// 值为: production :表示生产环境
console.log(1, process.env.NODE_ENV);

switch (process.env.NODE_ENV) {
    case 'development':
        baseURL = 'http://47.94.148.165/admin'  // 应该开发地址,只不过我目前使用的是线上地址
        break;
    case 'production':
        baseURL = 'http://47.94.148.165/admin'
        break;
    default:
        break;
}

// instance 还是axios  只不过该axios 中默认设置了baseURL,headers,timeout

const instance = axios.create({
    baseURL: baseURL,
    headers: { 'Content-Type': 'application/json' },
    timeout: 5000, // 默认值是 `0` (永不超时)
});

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 一般设置token 在header 头中设置token


    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 做响应状态码的判断以及 更新本地token
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});


export default instance
